This invention relates generally to a selective call radio receiver, and in particular to an apparatus for performing a serial comparison of two binary words. More particularly, the invention relates to an apparatus for performing the serial comparison of successive data words received by a selective call radio receiver (pager) with a stored reference word (address). Still more particularly, the invention relates to an apparatus for performing the serial comparison of a data word or the inverse thereof with a stored reference word.
A personal paging device typically comprises a binary digital FM receiver consisting of a radio frequency (RF) section and a decoder section. A page is received via an RF carrier that is frequency modulated by a coded binary sequence. The circuits in the RF section perform the RF/IF conversions, frequency demodulations, and the logic-level decision functions to recover the audio output signal that represents the coded binary data. A control section processes the coded data using digital techniques to control the audible and/or visual alerts.
Many types and formats of signal coding may be utilized in present day paging systems. One known type is the Golay Sequential Code (GSC). GSC is a selective call paging protocol, a full description of which may be found in a paper entitled "Selective Signalling for Portable Applications" by Leonard E. Nelson, 28 IEEE Vehicular Technology Conference, Denver, Colo., Mar. 22-24, 1978. The GSC is a synchronous paging format that allows pagers to be transmitted individually or in batches, and accommodates tone-only, tone-and-data, and tone-and-voice paging. It also provides improved battery-saving capability and an increased code capacity. A positive logic convention is used.
The GSC utilizes a single-call address format which consists of a preamble, a start code, and an address code, and an activation code for voice paging. Individual receivers within the system are divided into groups by means of a preamble. The start code marks the end of the preamble and supplies timing information for batch mode decoding. The address code uniquely identifies each receiver, and the activation code controls the audio circuits for voice paging.
A data message consists of an address followed by one or more data blocks. These data messages may be transmitted individually in the single-call mode, or intermixed with address-only pages in the batch mode of transmission.
The address information is transmitted as two Golay address words (W1 and W2) each comprised of 23 bits. The W1 code set comprises 50 words and their complements while the W2 code set consists of approximately 2,000 words and their complements. Thus, the unique W1/W2 combinations selected from the two code sets, provide for 100,000 GSC codes.
A GSC code is a unique combination of a first GSC binary word (W1) and a second GSC binary word (W2) that may be assigned to a specific pager, and each GSC code is capable of providing four different functional addresses (W1W2, W1 W2 , W1 W2, and W1 W2 . Each functional address defines how the addressed pager responds. Some available functions are tone only page, tone only page with priority, voice page, alphanumeric data page, etc. Thus, it is necessary that the pager be capable of decoding two binary words and/or their inverse words or complements. As is well known, inverse binary words are created by substituting binary ones for binary zeroes and binary zeroes for binary ones within the binary stream.
The pager decoder must compare incoming binary addresses with the GSC address code assigned to and stored within the pager. Many techniques for comparing binary words are known, the simplest involving storing each word in a register each comprised of a series of storage elements and comparing the contents of the storage elements in parallel to determine if a match exists. This process is quick but requires dedicated circuitry for each bit to be compared. In the case of a GSC code, twenty-three bits are transmitted to the pager, and the pager samples each bit four times resulting in a 92 bit data stream. Obviously, a parallel comparison of a 92 bit address word with an internally stored word would require very large registers.
Alternatively, it is known to compare binary data words serially (bit by bit). If a perfect match were required, the comparison process could be terminated as soon as a mismatched between corresponding bits in each word was detected. In the case of Golay, twelve errors may be found in the 92 bit data stream and still result in a match. Unfortunately, it is not known whether the received word is in its true or complement form. Therefore, a detection of greater than twelve errors does not necessarily mean a mismatch. It may mean that the inverse word (W1/ or W2/ ) is being received.
In order to provide for the decoding of the word in either its true or complement form, it is known to serially compare each bit of the 92 bit word and if either less than thirteen errors or more than 79 errors are detected, a match is declared. That is, if less than thirteen errors are detected it is presumed that the correct word W1 or W2 in its true form has been received. If, alternatively, more than 79 errors has been detected, it is assumed that the correct word in its inverse form (W1 or W2 ) has been received. Unfortunately, this approach requires that all of the bits in the 92 bit data stream be compared. This takes a great deal of time and requires consumption of a significant amount of power which, in the case of a battery operated pager, is disadvantageous.